#ifndef PLCSYSTEM_H
#define PLCSYSTEM_H

#ifndef GENESIS_DATATYPES
#define GENESIS_DATATYPES
typedef unsigned char byte;
typedef unsigned short word;
#endif

struct plc_buffer_index
{
       //first value in a "ROMPLC (buffer index)" is LONG ptr to where the raw nemesis data is,
       //...So this is a pointer to byte* buffer to the RAW nem data on the pc side to meet the 
       //specifications of the current nemesis decompression routine (passed as first argument, source byte* buffer) 
       byte *val1;
       
       //second value in a ROMPLC (buffer index) is WORD relative ptr to where in VRAM to store the decompressed data
       // this is the exact? same value on the pc side as it is used as an index into (video.c) vfgRam and dereferenced 
       //to supply the address destination in video layer ram at which to place decompressed data
       word val2;
};

void AddPLC(word);
void NewPLC(word);
void ClearPLC();
void RunPLC();
void RunAllPLCs();

#endif
